package com.it.machine.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.it.common.annotation.Excel;
import com.it.common.core.domain.BaseEntity;

/**
 * 激活电脑对象 machine_activation
 * 
 * @author 云淡风轻
 * @date 2025-04-28
 */
public class MachineActivation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录ID */
    private Long id;

    /** 项目ID */
    @Excel(name = "项目ID")
    private String proId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String proName;

    /** 机器码 */
    @Excel(name = "机器码")
    private String machineId;

    /** 激活码 */
    @Excel(name = "激活码")
    private String activeCode;

    /** 当前积分 */
    @Excel(name = "当前积分")
    private Integer currentMark;

    /** 状态（0未激活，1已激活，2已过期，3已禁用） */
    @Excel(name = "状态")
    private Integer status;



    /** 激活时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "激活时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date activeTime;

    /** 过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expireTime;

    /** 备注 */
    @Excel(name = "备注")
    private String note;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setProId(String proId)
    {
        this.proId = proId;
    }

    public String getProId()
    {
        return proId;
    }

    public void setProName(String proName)
    {
        this.proName = proName;
    }

    public String getProName()
    {
        return proName;
    }

    public void setMachineId(String machineId)
    {
        this.machineId = machineId;
    }

    public String getMachineId()
    {
        return machineId;
    }

    public void setActiveCode(String activeCode)
    {
        this.activeCode = activeCode;
    }

    public String getActiveCode()
    {
        return activeCode;
    }

    public void setCurrentMark(Integer currentMark)
    {
        this.currentMark = currentMark;
    }

    public Integer getCurrentMark()
    {
        return currentMark;
    }



    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    public void setActiveTime(Date activeTime)
    {
        this.activeTime = activeTime;
    }

    public Date getActiveTime()
    {
        return activeTime;
    }

    public void setExpireTime(Date expireTime)
    {
        this.expireTime = expireTime;
    }

    public Date getExpireTime()
    {
        return expireTime;
    }

    public void setNote(String note)
    {
        this.note = note;
    }

    public String getNote()
    {
        return note;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("proId", getProId())
            .append("proName", getProName())
            .append("machineId", getMachineId())
            .append("activeCode", getActiveCode())
            .append("currentMark", getCurrentMark())
            .append("status", getStatus())
            .append("activeTime", getActiveTime())
            .append("expireTime", getExpireTime())
            .append("note", getNote())
            .toString();
    }
}
